#ifndef DICTIONARYDIALOG_H
#define DICTIONARYDIALOG_H

#include <QDialog>
#include <QSettings>
#include <QTableWidgetItem>
#include <QList>
#include <QVariantMap>

struct DictEntry {
    QString index;      // 索引
    QString original;   // 原文
    QString meaning;    // 含义
    bool enabled;       // 是否启用

    // 可选：添加构造函数以便初始化
    DictEntry(const QString& index = "", const QString& original = "", const QString& meaning = "", bool enabled = false);
};

namespace Ui {
class DictionaryDialog;
}

class DictionaryDialog : public QDialog
{
    Q_OBJECT

public:
    explicit DictionaryDialog(QWidget *parent = nullptr);
    ~DictionaryDialog();

    // 获取当前字典内容
    QList<DictEntry> getDictionary() const;


private slots:
    void on_pb_add_clicked();  // 添加按钮点击事件
    void on_pb_del_clicked();  // 删除按钮点击事件
    void saveDictionary();     // 保存词典配置
    void loadDictionary();     // 加载词典配置
    void on_tableWidget_itemChanged(QTableWidgetItem *item); // 表格内容修改事件

    void on_pb_editor_clicked();

private:
    Ui::DictionaryDialog *ui;
    QSettings *settings;       // QSettings 对象用于保存和加载配置
    bool modified;             // 标记字典内容是否被修改
};

#endif // DICTIONARYDIALOG_H
